home *** CD-ROM | disk | FTP | other *** search
/ The PC-SIG Library 10 / The PC-Sig Library - Shareware for the IBM PC and Compatibles (PC-SIG)(Tenth Edition Disks 1-2804)(1991).iso / PC_SIGCD / 10 / 9 / DISK1095.ZIP / RECEIPTS.PRG < prev    next >
Text File  |  1980-01-01  |  3KB  |  97 lines

  1. * RECEIPTS
  2. * PROCESS RECEIPTS AND UPDATE INCOME ACCOUNTS
  3. SET HEADING OFF
  4. SET SAFETY OFF
  5. SET STATUS OFF
  6. CLEAR
  7. CLEAR ALL
  8. SET TALK OFF
  9. SET BELL OFF
  10. * SET UP A STRING OF 80 BLANKS
  11. STORE SPACE(80) TO BLANK
  12. @ 1,22 SAY "SMITH'S BIKEWORKS INFORMATION SYSTEM"
  13. @ 3,17 SAY ">> Accounting System Cash Receipts Program <<"
  14. @ 5,29 SAY "Today's Date: "
  15. ?? DATE()
  16. * OPEN RECEIVABLES FILE
  17. USE RECFILE INDEX RFINVID
  18. * OPEN LEDGER
  19. SELECT B
  20. USE ACCTCHRT INDEX ACCOUNT
  21. STORE " " TO ACTION
  22. DO WHILE ACTION<>"M"
  23.    STORE 101.00 TO INC_ACCT
  24.    STORE "      " TO INV_ID
  25.    STORE 0.00 TO AMNTPD
  26.    STORE " " TO ACTION
  27.    STORE DATE() TO DATEPD
  28.    STORE "      " TO CHECKNO
  29.    @ 9,1 SAY "Income Account Number " GET INC_ACCT
  30.    @ 9,40 SAY "Invoice ID " GET INV_ID
  31.    @ 11,1 SAY "Amount Paid " GET AMNTPD
  32.    @ 11,40 SAY "Date Paid " GET DATEPD PICTURE "99/99/99"
  33.    @ 13,1 SAY "Paid With Check Number " GET CHECKNO
  34.    @ 18,1 SAY;
  35.    "TYPE REQUESTED DATA AT CURSOR. PRESS ENTER KEY TO MOVE TO NEXT"
  36.    @ 19,1 SAY "FIELD. TYPE 'P' TO POST, 'M' FOR MENU, ANYTHING ELSE"+;
  37.    " TO SKIP ENTRY => " GET ACTION
  38.    READ
  39.    STORE UPPER(ACTION) TO ACTION
  40. * IF AN INVOICE NUMBER IS PRESENT, TRY TO UPDATE RECEIVABLES FILE
  41.    IF ACTION="P"
  42.       IF INV_ID<>"      "
  43.          SELECT A
  44.          FIND &INV_ID
  45.          IF (EOF() .OR. BOF())
  46.             @ 22,1 SAY BLANK
  47.             @ 23,1 SAY BLANK
  48.             STORE " " TO ACTION
  49.             @ 23,1 SAY ;
  50.             "*** INVOICE NUMBER NOT FOUND. PRESS ANY KEY TO RE-ENTER ";
  51.             GET ACTION
  52.             READ
  53.             @ 23,1 SAY BLANK
  54.             STORE " " TO ACTION
  55. * FOUND INVOICE IN RECEIVABLES FILE SO UPDATE
  56.          ELSE
  57.             REPLACE AMOUNT WITH A->AMOUNT-AMNTPD, ;
  58.             DATE_PAID WITH DATEPD, CHECK_NUM WITH CHECKNO, ;
  59.             LAST_UPDT WITH DATE()
  60. * IF RECEIVABLE RECORD FULLY PAID, FLAG FOR DELETION
  61.             IF A->AMOUNT=0
  62.                DELETE
  63.             ENDIF
  64.          ENDIF
  65.       ENDIF
  66. * POST TRANSACTION TO LEDGER IF INPUT IS "P"
  67.       IF ACTION="P"
  68.          SELECT B
  69.          STORE STR(INC_ACCT,6,2) TO TEMP
  70.          FIND &TEMP
  71.          IF (EOF() .OR. BOF())
  72.             STORE " " TO ACTION
  73.             @ 22,1 SAY ;
  74.             "*** ERROR: THERE IS NO LEDGER ACCOUNT WITH THIS ACCOUNT NUMBER"
  75.             @ 23,1 SAY "    PRESS ANY KEY TO CONTINUE " GET ACTION
  76.             READ
  77.             @ 22,1 SAY BLANK
  78.             @ 23,1 SAY BLANK
  79. * LEDGER RECORD FOUND, SO DO UPDATE
  80.          ELSE
  81. * CONSTRUCT MONTHn VARIABLE NAME
  82.             STORE DTOC(DATEPD) TO DATEPAID
  83.             IF VAL(SUBSTR(DATEPAID,1,2))>9
  84.                STORE SUBSTR(DATEPAID,1,2) TO MONTH
  85.             ELSE
  86.                STORE SUBSTR(DATEPAID,2,1) TO MONTH
  87.             ENDIF
  88.             STORE "MONTH"+MONTH TO MONTH
  89.             REPLACE ACCT_YTD WITH B->ACCT_YTD+AMNTPD,&MONTH WITH ;
  90.             &MONTH+AMNTPD,LAST_UPDT WITH DATE()
  91.          ENDIF
  92.       ENDIF
  93.    ENDIF
  94. ENDDO
  95. CLEAR
  96. RETURN
  97.